package com.ny.service;

import com.ny.domain.EquipmentDO;
import com.ny.dto.EquipmentDTO;
import com.ny.dto.EquipmentMaintenanceDTO;
import com.ny.query.EquipmentQuery;
import java.lang.Boolean;
import java.util.List;

/**
 * 器材管理模块
 *
 * @author MSI-NB
 * @date 2025-03-08 13:14:38
 */
public interface EquipmentService {

    /**
     * 添加器材
     *
     * @param equipmentDTO 器材管理DTO
     * @return
     */
    Boolean addEquipment(EquipmentDTO equipmentDTO);

    /**
     * 删除器材
     *
     * @param equipmentDTO 器材管理DTO
     * @return
     */
    Boolean deleteEquipment(EquipmentDTO equipmentDTO);

    /**
     * 更新器材信息
     *
     * @param equipmentDTO 器材管理DTO
     * @return
     */
    Boolean updateEquipment(EquipmentDTO equipmentDTO);

    /**
     * 查询单个器材详情
     *
     * @param equipmentQuery 器材查询条件
     * @return  器材实体
     */
    EquipmentDO infoEquipment(EquipmentQuery equipmentQuery);

    /**
     * 添加器材维护记录
     *
     * @param equipmentMaintenanceDTO 器材维护管理DTO
     * @return
     */
    Boolean addMaintenance(EquipmentMaintenanceDTO equipmentMaintenanceDTO);

    /**
     * 删除器材维护记录
     *
     * @param equipmentMaintenanceDTO 器材维护管理DTO
     * @return
     */
    Boolean deleteMaintenance(EquipmentMaintenanceDTO equipmentMaintenanceDTO);

    /**
     * 更新器材维护记录
     *
     * @param equipmentMaintenanceDTO 器材维护管理DTO
     * @return
     */
    Boolean updateMaintenance(EquipmentMaintenanceDTO equipmentMaintenanceDTO);

    List<EquipmentDO> findPageList(int pageNum, int pageSize);
}
